package com.utooo.pojo.dto.purchase.order;

import com.utooo.pojo.dto.common.CreateGroup;
import com.utooo.pojo.dto.purchase.DemandMaterialDetailDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 采购订单管理
 *
 * @author CK
 * @date 2025-04-17 09:19:38
 */
@Data
public class PurchaseOrderDTO {


    @NotBlank(groups = { CreateGroup.class }, message = "订单标题不能为空")
    @Schema(description = "订单标题:订单标题，必填，用于新增操作")
    private String title;


    @Schema(description = "订单来源")
    private String source;

    /**
     * 订单类型
     */
    @Schema(description = "订单类型")
    private String type;

    /**
     * 订单说明
     */
    @Schema(description = "订单说明")
    private String description;

    /**
     * 公司
     */
    @Schema(description = "公司")
    private String company;

    /**
     * 采购员
     */
    @Schema(description = "采购员")
    private String purchaser;

    /**
     * 需求总数量
     */
    @Schema(description = "需求总数量")
    private Integer quantity;

    /**
     * 含税总金额
     */
    @Schema(description = "含税总金额")
    private BigDecimal totalAmount;

    /**
     * 供应商编码
     */
    @Schema(description = "供应商编码")
    private String supplierCode;

    /**
     * 供应商名称
     */
    @Schema(description = "供应商名称")
    private String supplierName;

    /**
     * 采购电话
     */
    @Schema(description = "采购电话")
    private String contactPhone;

    /**
     * 采购人
     */
    @Schema(description = "采购人")
    private String contact;

    @Schema(description = "需求物料明细")
    private List<DemandMaterialDetailDTO> demandMaterialDetailList;
}
